Release 10.1A: OpenEdge Development:
Progress Dynamics Repository Reference


ryc_smartobject table — rycso

The ryc_smartobject table is the central table of the Object group. This table lists every object known to the Repository, whether static or dynamic. You should register in the Repository every object that can be run in your application, including visual objects and business logic procedures. You should also register items like the images used on buttons. The only files not registered in the Repository are include files.

If a file is registered, it can be added as an instance to containers, added to menus, have security applied to it, be run as part of flows and events, and be set up for automated deployment.

Table 10–1 lists the table’s FLA, fields, and foreign keys.

Table 10–1: ryc_smartobject table information 
Table FLA
Fields (data type)
Foreign keys
rycso
smartobject_obj (Decimal)
object_filename (Character)
customization_result_obj (Decimal)
object_type_obj (Decimal)
product_module_obj (Decimal)
layout_obj (Decimal)
object_description (Character)
object_path (Character)
object_extension (Character)
static_object (Logical)
generic_object (Logical)
template_smartobject (Logical)
system_owned (Logical)
deployment_type (Character)
design_only (Logical)
runnable_from_menu (Logical)
container_object (Logical)
disabled (Logical)
run_persistent (Logical)
run_when (Character)
shutdown_message_text (Character)
required_db_list (Character)
sdo_smartobject_obj (Decimal)
extends_smartobject_obj (Decimal)
security_smartobject_obj (Decimal)
object_is_runnable (Logical)
customization_result_obj
layout_obj
object_type_obj
product_module_obj
smartobject_obj

Table 10–2 gives details of the table’s indexes.

Table 10–2: ryc_smartobject index information 
Index name
Elements
Type
XPKryc_smartobject
smartobject_obj
Primary Unique
XAK1ryc_smartobject
object_filename
customization_result_obj
Unique
XAK3ryc_smartobject
product_module_obj
object_filename
customization_result_obj
Unique
XIE1ryc_smartobject
sdo_smartobject_obj
Nonunique
XIE2ryc_smartobject
layout_obj
object_type_obj
Nonunique
XIE5ryc_smartobject
extends_smartobject_obj
Nonunique
XIE6ryc_smartobject
customization_result_obj
Nonunique
XIE7ryc_smartobject
object_type_obj
Nonunique
XIE8ryc_smartobject
security_smartobject_obj
Nonunique
XIE9ryc_smartobject
object_description
Nonunique
XIE10ryc_smartobject
runnable_from_menu
Nonunique
XIE11ryc_smartobject
template_smartobject
Nonunique

Objects are further defined in the many child tables in the Object group. The child tables might or might not apply to a certain objects based on the type of object. For example, information regarding links, pages, and instances only pertain to objects that are containers. Even in a certain type of object, every object might not use the same child tables. For example, viewers, browsers, and SDOs are containers for datafields. But they do not use pages. Only window containers support pages.

Every property on this table does not apply to every object. There might be some redundant properties as work on the framework proceeds.

Notes: For data versioning, the delete trigger’s referential integrity has been turned off because it would prevent an object being deleted if it is used on some container. This allows imports and object assignments to work. Therefore, the delete trigger referential integrity must be manually coded where it is required.

The automatic delete cascade of SmartObject attributes has been turned off. It might delete attributes for instances of a SmartObject when it should not delete them. A specific delete trigger customization was added that joins on the primary_smartobject_obj in the ryc_attribute_value table when deleting attributes. This ensures that only attributes for the SmartObject are deleted, and not attributes for instances of the SmartObject.

This table can optionally support customization using custom result codes. The unique key to this table is made up of the object filename and a result code. This allows the same object name to have multiple result codes attached to it. Only the custom objects created in this manner contain the newly added or overridden behavior. The master default object has a result code of 0 and must exist for every object. This allows you to customize the information on this table and any of its child tables for objects that have custom result codes assigned. When you read a SmartObject based on the filename, the result code must be specified, using 0 if you are looking for the master.

The recursive join with a rolename of extends_smartobject_obj supports development of new functionality. It is not yet used in the framework. to support inheritance.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095